/**
 * 给定数组A, 令S=A1÷A2÷...÷An
 * 可以对数组A做最多T次循环右移操作
 * 使得S最大，最少操作几次？
 * 
 * Ai越大，以之为首的S越大
 * 其实就是要找数组A尾部的最大的数
 * 最多枚举N-1次
 */
#include <bits/stdc++.h>
#include <bits/extc++.h>
using namespace std;

using llt = long long;
using vi = vector<int>;
using vll = vector<llt>;

int N;
int T;
vll A;

int proc(){
    if(0 == T) return 0;
    
    if(T >= N) T = N - 1;

    int ans = 0;
    llt k = A[0];
    for(int i=1;i<=T;++i){
        if(A[N - i] > k){
            ans = i;
            k = A[N - i];
        } 
    }
    return ans;
}

void work(){
    cin >> N >> T;
    A.assign(N, {});
    for(auto & i : A) cin >> i;
    cout << proc() << endl;
    return;
}

int main(){
#ifndef ONLINE_JUDGE
    freopen("z.txt", "r", stdin);
#endif
    ios::sync_with_stdio(0); cin.tie(0); cout.tie(0);
    int nofkase = 1;
    // cin >> nofkase;
    while(nofkase--) work();
    return 0;
}